package cn.tedu.medicalappointmentsystemk.dao.persist.repository;

import cn.tedu.medicalappointmentsystemk.pojo.bo.UserSelectBO;
import cn.tedu.medicalappointmentsystemk.pojo.po.UserPO;
import cn.tedu.medicalappointmentsystemk.pojo.vo.UserLoginVO;
import cn.tedu.medicalappointmentsystemk.pojo.vo.UserSelectVO;
import cn.tedu.medicalappointmentsystemk.pojo.vo.UserUpdateVO;

import java.util.List;

public interface UserRepository {

    Integer addNew(UserPO po);

    UserLoginVO selectByUsername(String username);

    UserPO selectById(Long id);

    Integer updatePassword(UserPO po);

    UserPO selectByMobile(String mobile);

    Integer updateUser(UserUpdateVO vo);

    UserSelectVO selectUserById(Long id);

    Integer deleteById(Long id);

    List<UserSelectBO> select();

    Integer countByUsername(String username);

    Integer countByMobile(String mobile);

    Integer countByEmail(String email);

    String selectNicknameById(Long id);

    Long selectIdByUsername(String username);
}
